#include "Logger.hpp"
#include <unistd.h>

int main()
{
    // EnableConsoleLogStrategy();
    EnableFileLogStrategy();

    // RAII风格的日志构建和输出刷新的过程
    LOG(LogLevel::ERROR) << "hello world" << ", 3.14 " << 123;
    LOG(LogLevel::WARNING) << "hello world" << ", 3.14 " << 123;
    LOG(LogLevel::ERROR) << "hello world" << ", 3.14 " << 123;
    LOG(LogLevel::ERROR) << "hello world" << ", 3.14 " << 123;


    // std::string test = "hello world, hello log";
    // // 测试策略1：显示器写入
    // std::unique_ptr<LogStrategy> logger_ptr = std::make_unique<ConsoleLogStrategy>();
    // // logger_ptr->SyncLog(test);
    // // logger_ptr->SyncLog(test);
    // // logger_ptr->SyncLog(test);
    // // logger_ptr->SyncLog(test);
    // // logger_ptr->SyncLog(test);

    // // std::unique_ptr<LogStrategy> logger_ptr = std::make_unique<FileLogStrategy>();
    // logger_ptr->SyncLog(GetCurrentTime());
    // sleep(1);
    // logger_ptr->SyncLog(GetCurrentTime());
    // sleep(1);
    // logger_ptr->SyncLog(GetCurrentTime());
    // sleep(1);
    // logger_ptr->SyncLog(GetCurrentTime());
    // sleep(1);
    // logger_ptr->SyncLog(GetCurrentTime());
    // sleep(1);

    return 0;
}